// Definition of the ClientSocket class

#ifndef ClientSocket_class
#define ClientSocket_class

#include "Socket.h"
#include <string>

class ClientSocket : private Socket
{
 public:
  ClientSocket ( );
  ClientSocket ( std::string host, int port );
  virtual ~ClientSocket(){};

  void init(std::string host, int port );

  void set_non_blocking(bool);

  const ClientSocket& operator << ( const std::string& ) const;
  const ClientSocket& operator >> ( std::string& ) const;

  const ClientSocket& sendfile(std::string&) const;
  std::string recvfile() const;

  void close();

};


#endif
